# -*- coding: utf-8 -*-

from simple_en import SEng
from engrana import Engranatge

"""
  Soluciona sistemes d'engranatges; és a dir, un conjunt de dos o més
  engranatges. També en soluciona les incògnites i n'agafa informació.
"""

class Sistema:
      def __init__(self,*args):
          self.engranatges = args
          self._resolveSentits()
          
          count = 0
          for e in self.engranatges:
	      try:
		s = self.engranatges[count+1]
		e.n,s.n,e.z,s.z = Engranatge(n1=e.n,n2=s.n,z1=e.z,z2=s.z).getValues()
              except IndexError, e:
		break
              count += 1
      
      def printEngranatges(self):
	  for eng in self.engranatges:
	      print eng.n
	      print eng.z
	      print eng.sentit
	      print "----"
      
      def getEngranatges(self):
	  return self.engranatges
      
      def _reverse(self, q):
	  if q == "horari": return "antihorari"
	  else: return "horari"
	  
      def _resolveSentits(self):
	  s1 = self.engranatges[0]
	  if not s1.sentit:
	    s1.sentit = "horari"
	    current = "horari"
	  else:
	    if s1.sentit == "antihorari":
	       current = "antihorari"
	       	  
	  for eng in self.engranatges[1:]:
	      canvi = self._reverse(current)
	      eng.sentit = canvi
	      current = canvi

if __name__ == "__main__":
   s = Sistema(SEng(None,16),SEng(40,90),SEng(80,None))
   s.printEngranatges()